package com.quectel.constant.core.partyeducationexam;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 在这里编写说明
 *
 * @author: ryan
 * @email: ryan.ran@quectel.com
 * @date: 2023-06-16 15:21:00
 */
public class PartyEducationQuestionConstants {

    @AllArgsConstructor
    public static enum IsDelEnum{
        /**
         * 是
         */
        YES((byte) 1),
        /**
         * 否
         */
        NO((byte) 0);

        @Getter
        private final Byte status;
    }

    @AllArgsConstructor
    public static enum QuestionTypeEnum {

        /**
         * 单选
         */
        RADIO((byte) 1),

        /**
         * 多选
         */
        MULTIPLE_CHOICE((byte) 2),

        /**
         * 判断
         */
        DETERMINE((byte) 3),

        /**
         * 填空
         */
        FILL_BLANKS((byte) 4),

        /**
         * 简答
         */
        SHORT_ANSWER((byte) 5);

        @Getter
        private final Byte type;
    }

    @AllArgsConstructor
    public static enum NeedOrderEnum{
        /**
         * 需要
         */
        NEED((byte) 1, "有序"),

        /**
         * 不需要
         */
        NOT_NEED((byte) 0, "无序");

        @Getter
        private final Byte orderStatus;
        @Getter
        private final String desc;

        public static String getDescByStatus(Byte status){
            for (NeedOrderEnum value : values()) {
                if (value.orderStatus.equals(status)) {
                    return value.desc;
                }
            }
            return null;
        }

        public static Byte getStatusByDesc(String desc) {
            for (NeedOrderEnum value : values()) {
                if (value.desc.equals(desc)) {
                    return value.orderStatus;
                }
            }
            return null;
        }
    }

    @AllArgsConstructor
    public static enum GradeEnum{
        /**
         * 正确
         */
        RIGHT((byte) 1),

        /**
         * 错误
         */
        WRONG((byte) 0);

        @Getter
        private final Byte status;
    }

    @AllArgsConstructor
    public static enum StatusEnum {

        /**
         * 不可用
         */
        DISABLE((byte) 0),

        /**
         * 可用
         */
        ENABLE((byte) 1);

        @Getter
        private final Byte status;
    }

}
